﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using WAContratos.Manager;

namespace WAContratos
{
    public partial class consuContra : System.Web.UI.Page
    {
        cls_negocios neg = new cls_negocios();
        public String basePath = "";
        public String departamentoSe = "STM";
        public String rutaactivado = "";
        public String codContrato = "";
        public String ruta = "";


        protected void Page_Load(object sender, EventArgs e)
        {
            DataSet dt = new DataSet();
            String fechini = "";
            String fechfin = "";
            String vhe = "";
            String sq = "";

            String wk_rango_fecha = "";
            String clausula = "";


            try
            {
                String codContrato = Request.QueryString["codContrato"].ToString();
                String contratista = Request.QueryString["contratista"].ToString();
                String tipoFecha = Request.QueryString["tipoFecha"].ToString();
                String fechadesde = Request.QueryString["fechadesde"].ToString();
                String fechahasta = Request.QueryString["fechahasta"].ToString();
                String plazo = Request.QueryString["plazo"].ToString();
                String administrador = Request.QueryString["administrador"].ToString();
                String estado = Request.QueryString["estado"].ToString();
                String gerenciaSolici = Request.QueryString["gerenciaSolici"].ToString();
                String montodesde = Request.QueryString["montodesde"].ToString();
                String montohasta = Request.QueryString["montohasta"].ToString();
                String codProceso = Request.QueryString["codProceso"].ToString();



                if (tipoFecha.Equals("1"))
                {
                    wk_rango_fecha = " and fecha_suscripcion between decode(to_date('" + fechadesde + "','rrrr-mm-dd'),null,fecha_suscripcion,to_date('" + fechadesde + "','rrrr-mm-dd'))  and " +
                            " decode(to_date('" + fechahasta + "','rrrr-mm-dd'),null,fecha_suscripcion,to_date('" + fechahasta + "','rrrr-mm-dd'))";
                }
                else if (tipoFecha.Equals("2"))
                {
                    wk_rango_fecha = " and fecha_culminacion between decode(to_date('" + fechahasta + "','rrrr-mm-dd'),null,fecha_culminacion,to_date('" + fechahasta + "','rrrr-mm-dd')) and " +
                            " decode(to_date('" + fechahasta + "','rrrr-mm-dd'),null,fecha_culminacion,to_date('" + fechahasta + "','rrrr-mm-dd'))";
                }
                else
                {
                    wk_rango_fecha = " ";
                };


                clausula = "where codigo_contrato = decode('" + codContrato + "',null,codigo_contrato,'" + codContrato + "') and " +
                       " nvl(contratista,'0')=decode('" + contratista + "',null,nvl(contratista,'0'),'" + contratista + "') and " +
                       " nvl(administrador,'0') = decode('" + administrador + "',null,nvl(administrador,'0'),'" + administrador + "')and " +

                       " nvl(gerencia_solicitante,'0') = decode('" + gerenciaSolici + "',null,nvl(gerencia_solicitante,'0'),'0',nvl(gerencia_solicitante,'0'),'" + gerenciaSolici + "')and " +
                        " nvl(plazo,'0') = decode('" + plazo + "',null,nvl(plazo,'0'),'" + plazo + "')and " +

                       " nvl(monto_contrato,0) between decode('" + montodesde + "',null,nvl(monto_contrato,0),'" + montodesde + "') and " +
                       " decode('" + montohasta + "',null,nvl(monto_contrato,0),'" + montohasta + "') and " +
                       " nvl(estado_contrato,'0') = decode('" + estado + "',null,nvl(estado_contrato,'0'),'" + estado + "') and " +
                       " nvl(observacion,'0') = decode('" + codProceso + "',null,nvl(observacion,'0'),'" + codProceso + "') " + wk_rango_fecha;
            }
            catch (Exception ex)
            { 
            
            }
                /*  try
              {
                  //'obj.pip = Request.ServerVariables("REMOTE_ADDR")  'Dns.GetHostEntry(Dns.GetHostName).AddressList.Where(Function(a As IPAddress) Not a.IsIPv6LinkLocal AndAlso Not a.IsIPv6Multicast AndAlso Not a.IsIPv6SiteLocal).First().ToString()
                  //'obj.puser = neg.getuserip(obj.pip)
                  /*vhe = Request.QueryString["idve"];
                  vhe = vhe.Trim();
                  //' vhe = "" & neg.getvar("dispositivo", obj)
                  fechini = Request.QueryString["fechini"];
                  fechini = fechini.Trim();

                  fechfin = Request.QueryString["fechfin"];
                  fechfin = fechfin.Trim();*/

            /*  }
              catch (Exception ex)
              {

              }*/

            sq = "select 'ingresoContratos.aspx?codContrato='||codigo_contrato codigo,MONTO_CONTRATO, codigo_contrato, contratista, desc_contratista, repre_contratista, gerencia_solicitante || ' - ' || desgerencia_solicitante gerencia_solicitante, fecha_suscripcion, plazo,ESTADO_INICIO_FECHA,objeto_contrato from t_contrato  " +
                      clausula;

            //sq = "select flota,subflota,unidad,fecha,IDGPS  from vista_notransmite where dispositivo='" + vhe + "' and fecha>='" + fechini + "' and fecha<='" + fechfin + "'";

            dt = neg.dtset(sq);

            grdcontratos.DataSource = dt;
            grdcontratos.DataBind();

           

            if (dt.Tables[0].Rows.Count <= 0)
            {
                pnlerror.Visible = true;

            }
            else
            {
                pnlerror.Visible = false;

                /* double tot;
                 String dato1 = 

                 tot = Math.Abs(Val("0" & dt.Tables(0).Rows(0).Item("odometro")) - Val("0" & dt.Tables(0).Rows(dt.Tables(0).Rows.Count - 1).Item("odometro")));
                 tot = Math.Round(tot, 2);
                 lblrecorrida.Text = tot & " Km";*/
            }
        }
    }
}
